home *** CD-ROM | disk | FTP | other *** search
- #ifndef _WINDOW_
- #define _WINDOW_
-
- #include <Dialogs.h>
- #include <MacTypes.h>
- #include <Windows.h>
- #include "LList.h"
-
-
- enum
- {
- kFloater = (1L << 0),
- kDialog = (1L << 1),
- kModal = (1L << 2),
- kActive = (1L << 3),
- kSuspended = (1L << 4)
- };
-
-
- typedef class Window
- {
- public:
- WindowPtr fWindow;
- UInt32 fFlags;
-
- virtual Boolean DoGetParam(OSType param,SInt32 *value) = 0;
- virtual Boolean DoSetParam(OSType param,SInt32 value) = 0;
- virtual void DoDialogEvent(EventRecord *event) = 0;
- virtual void DoClose(void) = 0;
- virtual void DoKey(UInt32 key,UInt32 modifiers) = 0;
- virtual void DoClick(Point where,UInt32 modifiers,SInt32 part) = 0;
- virtual void DoUpdate(void) = 0;
- virtual void DoUpdateCursor(Point mouse,UInt32 modifiers) = 0;
- virtual void DoIdleTime(EventRecord *event,Point mouse,UInt32 modifiers) = 0;
- virtual void DoSetActivationState(Boolean isActive) = 0;
- virtual void DoSetSuspensionState(EventRecord *event,Boolean isSuspended) = 0;
- } Window;
-
-
- typedef class WindowManager
- {
- public:
- virtual void DoAddWindow(Window *window) = 0;
- virtual void DoDeleteWindow(Window *window) = 0;
- virtual void DoClick(Point where,UInt32 modifiers,WindowPtr window,SInt32 part) = 0;
- virtual void DoIdleTime(EventRecord *event,Point mouse,UInt32 modifiers) = 0;
- virtual void DoActivation(WindowPtr window,Boolean isActivating) = 0;
- virtual void DoSuspendResume(EventRecord *event,Boolean isSuspend) = 0;
-
- virtual Window *DoGetFrontWindow(void) = 0;
- virtual Window *DoGetNextWindow(Window *window) = 0;
- virtual Window *DoGetWindow(WindowPtr window) = 0;
- } WindowManager;
-
-
- typedef struct BaseWindowObject
- {
- BaseWindowObject *next;
- WindowPtr fWindowID;
- Window *fWindowObject;
- } BaseWindowObject;
-
-
- typedef class BaseWindowManager : public WindowManager
- {
- protected:
- BaseWindowObject *GetWindowObject(WindowPtr window);
-
- public:
- LList<BaseWindowObject> fWindowList;
- Boolean fSuspended;
-
- BaseWindowManager(void);
-
- virtual void DoAddWindow(Window *window);
- virtual void DoDeleteWindow(Window *window);
- virtual void DoClick(Point where,UInt32 modifiers,WindowPtr window,SInt32 part);
- virtual void DoIdleTime(EventRecord *event,Point mouse,UInt32 modifiers);
- virtual void DoActivation(WindowPtr window,Boolean isActivating);
- virtual void DoSuspendResume(EventRecord *event,Boolean isSuspend);
-
- virtual Window *DoGetFrontWindow(void);
- virtual Window *DoGetNextWindow(Window *window);
- virtual Window *DoGetWindow(WindowPtr window);
- } BaseWindowManager;
-
-
- typedef class BaseWindow : public Window
- {
- public:
- BaseWindow(void);
- BaseWindow(UInt32 windowID);
- BaseWindow(Boolean isFloatingWindow,short procID,Boolean goAwayFlag);
- virtual ~BaseWindow(void);
-
- virtual Boolean DoGetParam(OSType param,SInt32 *value);
- virtual Boolean DoSetParam(OSType param,SInt32 value);
- virtual void DoDialogEvent(EventRecord *event);
- virtual void DoClose(void);
- virtual void DoKey(UInt32 key,UInt32 modifiers);
- virtual void DoClick(Point where,UInt32 modifiers,SInt32 part);
- virtual void DoUpdate(void);
- virtual void DoUpdateCursor(Point mouse,UInt32 modifiers);
- virtual void DoIdleTime(EventRecord *event,Point mouse,UInt32 modifiers);
- virtual void DoSetActivationState(Boolean isActive);
- virtual void DoSetSuspensionState(EventRecord *event,Boolean isSuspended);
-
- virtual Boolean HandleGetParam(OSType param,SInt32 *value);
- virtual Boolean HandleSetParam(OSType param,SInt32 value);
- virtual void HandleClose(void);
- virtual void HandleZoomIn(void);
- virtual void HandleZoomOut(void);
- virtual void HandleDrag(Point start);
- virtual void HandleMove(Point where);
- virtual void HandleGrow(Point start);
- virtual void HandleResize(UInt32 height,UInt32 width);
- virtual void HandleKey(UInt32 key,UInt32 modifiers);
- virtual void HandleClick(Point where,UInt32 modifiers);
- virtual void HandleActivate(void);
- virtual void HandleDeactivate(void);
- virtual void HandleCursorUpdate(Point mouse,UInt32 modifiers);
- virtual void HandleIdleTime(Point mouse,UInt32 modifiers);
- virtual void HandleDraw(void);
- } BaseWindow;
-
-
- typedef class BaseDialog : public BaseWindow
- {
- public:
- DialogPtr fDialog;
-
- BaseDialog(UInt32 dialogID,Boolean isModal);
- virtual ~BaseDialog(void);
-
- virtual void DoDialogEvent(EventRecord *event);
-
- virtual void HandleDialogEvent(EventRecord *event);
- virtual Boolean HandleDialogEventFilter(EventRecord *event);
- virtual void HandleDialogItemhit(short item);
- virtual Boolean HandleOKButtonHiliteQuery(void);
-
- virtual void DrawThickOutline(short item);
- virtual void SetOKState(Boolean isActive);
- virtual void AnimateButtonPress(short item);
- virtual void GetItemText(short item,char *text);
- virtual int GetItemTextAsDecimal(short item);
- virtual void SetItemText(short item,char *text);
- virtual void SetItemTextf(short item,char *format,...);
- virtual void AppendItemText(short item,char *text);
- virtual void AppendItemTextf(short item,char *format,...);
- } BaseDialog;
-
-
- #endif /* _WINDOW_ */
-